Image generation system and program

ABSTRACT

An object is to provide an image generation system and program which can realize a realistic, variable and natural representation of motion with less data. When the forearm ( 14 ) of an enemy character is hit, the forearm ( 14 ) is moved through a physical simulation by a vector of hitting force FH 0 . At the same time, vectors of hitting force FH 1  to FH 4  are sequentially transmitted to the brachium ( 16 ), chest ( 18 ) and hip ( 20 ) which are parent parts for the forearm ( 14 ) while their magnitude being sequentially attenuated. These vectors of hitting force FH 1  to FH 4  move these parent parts to generate a motion of the object. A rotational resistance force depending on its angular velocity and a restoring force for returning the part to its default posture act on each of the parts. When the object is hit, the play of motion based on motion data is switched to the generation of motion through the physical simulation. When a given time period elapses or when the strength parameter relating to the object becomes equal to zero, the generation of motion is switched to the play of motion. On switching, a connecting motion is played or generated.

This application is the National Phase International ApplicationPCT/JP00/03589, filed Jun. 2, 2000.

TECHNICAL FIELD

The present invention relates to an image generation system and program.

BACKGROUND OF ART

There is known an image generation system for generating an imagevisible from a given view point within an object space which is avirtual three-dimensional space. This image generation system is highlypopular as a system which is capable of experiencing a so-called virtualreality. If such an image generation system is used for a gun game, aplayer (or operator) can enjoy a three-dimensional game by using agun-type controller (or shooting device) to shoot target objects such asenemy characters (or objects) which are displayed on a screen.

In such an image generation system, it becomes an important technicalproblem to generate a more realistic image for improving the virtualreality. It is thus desirable that the motion of enemy characters canmore realistically be represented as well. The image generation systemsof the prior art have represented the motion of enemy characters byselecting a previously provided motion data and playing (replaying) amotion based on the selected motion data.

However, such a technique of playing the motion based on the motion datahad the following problems:

(1) Even if an enemy character is hit, it only performs the samebehavior at all times. This makes the representation of motionmonotonous.

(2) If the enemy character is further hit, the play of motion started byhitting of the first shot (bullet) will be cut off by the second shot.This makes the motion of the enemy character unnatural.

(3) In order to increase the variation of motion for the enemycharacter, it is required to increase the motion data correspondingly.However, the capacity of the memory for storing the motion data isfinite. Thus, the increase of the motion variation is also limited.

DISCLOSURE OF INVENTION

It is therefore an object of the present invention to provide an imagegeneration system and program which can realize a more realistic,changeful and natural representation of motion through less data.

To this end, the present invention provides an image generation systemcomprising: means for generating a motion of an object formed by aplurality of parts (regions, portions), by moving an Nth part through aphysical simulation based on hit information when the Nth part is hitand sequentially transmitting the hit information to the N+1th, N+2th,N+3th . . . parts so that the N+1th, the N+2th, the N+3th . . . partsare sequentially moved through a physical simulation based on thetransmitted hit information; and means for generating an image includingan image of the object on which the motion is generated. The presentinvention also provides a computer-usable information storage mediumwhich includes information (such as program or data) for realizing (orexecuting) the above-mentioned means. The present invention furtherprovides a program embodied in an information storage medium or acarrier wave and including a processing routine for realizing (orexecuting) the means.

According to the present invention, the Nth part of the object will bemoved (e.g., rotated or changed the position) through the physicalsimulation (including a pseudo-physical simulation) based on the hitinformation when the Nth part is hit. This hit information is furthersequentially transmitted to the subsequent parts (N+1th, N+2th and soon) which will in turn be moved based on the transmitted hitinformation. When the object's motion is generated in such a manner, theobject can perform different motions depending on, for example, theposition of hit, the direction of hit and so on. As a result, thepresent invention can realize various realistic representations ofmotion.

In the image generation system, information storage medium and programaccording to the present invention, the hit information may be a forcevector in the direction of hitting, and each of the parts may be movedthrough a rotation moment obtained by the force vector. Thus, thevarious realistic representations of motion can be realized through asimplified process in which the force vector is only used to move eachof the parts or only transmitted to each of the parts.

In the image generation system, information storage medium and programaccording to the present invention, the magnitude of the force vectormay be sequentially attenuated while being transmitted to each of theparts. Thus, the closer to the position of hit the part is, the greaterthe part moves. That can realize variety of realistic motions by simpleprocessing.

In the image generation system, information storage medium and programaccording to the present invention, a rotational resistance force mayact on each of the parts depending on the angular velocity of each ofthe parts. Thus, it can be prevented that the generated motion will bemade unnatural if the angular velocity in each of the object's partsbecomes too large.

In the image generation system, information storage medium and programaccording to the present invention, a restoring force for returning anobject back to a given posture may act on each of the parts. Thus, anobject can be represented which will not fairly be fallen, for example,even if it is continuously hit.

In the image generation system, information storage medium and programaccording to the present invention, processing may be switched from aplay (replay) of the object's motion based on motion data to ageneration of the object's motion through the physical simulation whenthe object is hit.

In the image generation system, information storage medium and programaccording to the present invention, processing may be switched from ageneration of the object's motion through the physical simulation to aplay of the object's motion based on motion data when a given conditionis satisfied.

The present invention further provides an image generation systemcomprising: means for playing a motion of an object formed by aplurality of parts based on motion data; means for generating the motionof the object through a physical simulation; and means for switchingprocessing from a play of the object's motion based on motion data to ageneration of the object's motion through a physical simulation when theobject is hit. The present invention also provides a computer-usableinformation storage medium which includes information (such as programor data) for realizing (or executing) the above-mentioned means. Thepresent invention further provides a program embodied in an informationstorage medium or a carrier wave and including a processing routine forrealizing (or executing) the means.

According to the present invention, for example, the object may be movedthrough motion play before it is hit. After the object has been hit, theobject may be moved through motion generation. Before the object is hit,therefore, the object's movement can easily be realized using the playof motion, rather than the generation of motion which would be difficultto realize the object's motion. On the other hand, after the object hasbeen hit, the variable movement of object can be realized with less datathrough the generation of motion, rather than the play of motion whichwould require more data.

The present invention further provides an image generation systemcomprising: means for playing a motion of an object formed by aplurality of parts based on motion data; means for generating the motionof the object through a physical simulation; and means for switchingprocessing from a generation of the object's motion through a physicalsimulation to a play of the object's motion based on the motion datawhen a given condition is satisfied. The present invention also providesa computer-usable information storage medium which includes information(such as program or data) for realizing (or executing) theabove-mentioned means. The present invention further provides a programembodied in an information storage medium or a carrier wave andincluding a processing routine for realizing (or executing) the means.

According to the present invention, the object may be moved through thegeneration of motion before a given condition is satisfied(established). When the given condition is satisfied, the object may bemoved through the play of motion. Thus, even when there occurs an eventin which the motion of the object hardly realized through the generationof motion is required, it can easily be dealt with.

In the image generation system, information storage medium and programaccording to the present invention, processing may be switched from thegeneration of the object's motion through the physical simulation to theplay of the object's motion based on the motion data, in at least one ofcases where a given time period has elapsed after the object has beenhit and where a parameter relating to the object reaches a given value.The “given condition” herein is not limited to a condition in which agiven time period has elapsed or a condition in which the parameterreaches a given value.

In the image generation system, information storage medium and programaccording to the present invention, the object may be caused to performa connecting motion which connects a motion generated by the physicalsimulation with a motion played based on the motion data. Thus, themotion can smoothly and naturally be changed in switching between thegeneration and play of motion.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 illustrates one embodiment of the present invention which isapplied to an arcade game system.

FIG. 2 is a block diagram of an image generation system constructed inaccordance with the present invention.

FIG. 3 illustrates an example of an enemy character (object) formed by aplurality of parts.

FIG. 4 illustrates a technique of generating a motion on hittingaccording to the present invention.

FIGS. 5A and 5B illustrate motions that may be generated according tothe present invention.

FIGS. 6A and 6B also illustrate motions that may be generated accordingto the present invention.

FIGS. 7A and 7B illustrate a technique of transmitting a vector ofhitting force while damping it and a technique of causing a rotationalresistance force on each of the parts depending on the angular velocity.

FIG. 8 illustrates a technique of returning the enemy character back toits default posture.

FIGS. 9A and 9B illustrate a technique of switching between thegeneration and play of motion.

FIGS. 10A and 10B illustrate a technique of playing (or generating) aconnecting motion.

FIG. 11 illustrates an interpolation of motion.

FIG. 12 is a flowchart illustrating the details of a process accordingto the present invention.

FIG. 13 is a flowchart illustrating the details of another processaccording to the present invention.

FIG. 14 is a flowchart illustrating the details of still another processaccording to the present invention.

FIG. 15 illustrates a structure of hardware which can realize thepresent invention.

FIGS. 16A and 16B illustrate various possible forms of the systemaccording to the present invention.

BEST MODE FOR CARRYING OUT THE INVENTION

A preferred embodiment of the present invention will now be describedwith reference to the accompanying drawings. Although the preferredembodiment described herein is in the form of a gun (or shooting) gameusing a gun-type controller, it is to be understood that the presentinvention is not limited to such a form, but may equally be applied toany of various other forms.

1. Arrangement

FIG. 1 illustrates one embodiment of the present invention which isapplied to an arcade game system.

A player 500 first holds a gun-type controller 502 (which is a shootingdevice in a broad sense) which is formed in the similitude of a realmachine gun. The player 500 can enjoy the gun game by shooting targetobjects including enemy characters (which are objects in a broad sense)which are displayed on a screen 504.

Particularly, the gun-type controller 502 in this embodiment is designedto continuously expel virtual shots (bullets) at high speed when thecontroller 502 is triggered. Thus, the player can feel a virtual realityas if he or she really shoots the real machine gun.

The shot hitting position (or bullet reaching position) may be detectedby a photosensor in the gun-type controller 502 for sensing a scan rayon the screen or by a CCD camera or the like which can sense a light (orlaser beam) emitted from the gun-type controller 502.

FIG. 2 is a block diagram of one embodiment of the present invention. Inthis figure, this embodiment may essentially include at least aprocessing section 100 (or a set of the processing section 100 and astorage section 140 or a set of the processing section 100, the storagesection 140 and an information storage medium 150). Each of the otherblocks (e.g., an operation section 130, an image generation section 160,a display section 162, a sound generation section 170, a sound outputsection 172, a communication section 174, an I/F section 176, a memorycard 180 and so on) may take any component.

The processing section 100 is designed to perform various processingsfor control of the entire system, commands to the respective blocks inthe system, game computation and so on. The function thereof may berealized through any suitable hardware means such as CPU (CISC type,RISC type), DSP or ASIC (or gate array or the like) or a given program(or game program).

The operation section 130 is used to input operational data from theplayer and the function thereof may be realized through any hardwaremeans such as the gun-type controller 502 of FIG. 1, levers, andbuttons.

The storage section 140 provides a working area for the processingsection 100, image generation section 160, sound generation section 170,communication section 174, I/F section 176 and others. The functionthereof may be realized by any suitable hardware means such as RAM orthe like.

The information storage medium (which may be a computer utilizationstorage medium) 150 is designed to store information including programs,data and others. The function thereof may be realized through anysuitable hardware means such as optical memory disk (CD or DVD),magneto-optical disk (MO), magnetic disk, hard disk, magnetic tape,semiconductor memory (ROM) or the like. The processing section 100performs various processings in the present invention (or thisembodiment) based on the information that has been stored in thisinformation storage medium 150. In other words, the information storagemedium 150 stores various pieces of information (or programs and data)for realizing (or executing) the means of the present invention (or thisembodiment) which is particularly represented by the block included inthe processing section 100.

Part or the whole of the information stored in the information storagemedium 150 will be transferred to the storage section 140 when thesystem is initially powered on. The information stored in theinformation storage medium 150 may contain at least one of program codeset for processing the present invention, image information, soundinformation, shape information of objects to be displayed, table data,list data, player information, command information for the processingsin the present invention, information for performing the processingsaccording to the commands and so on.

The image generation section 160 is designed to generate and outputvarious images toward the display section 162 according to instructionsfrom the processing section 100. The function thereof may be realizedthrough any suitable hardware means such as image generation ASIC, CPUor DSP or according to a given program (or image generation program) orbased on image information.

The sound generation section 170 is designed to generate and outputvarious sounds toward the sound output section 172 according toinstructions from the processing section 100. The function thereof maybe realized through any suitable hardware means such as sound generationASIC, CPU or DSP or according to a given program (or sound generationprogram) or based on sound information (waveform data and the like).

The communication section 174 is designed to perform various controlsfor communication between the game system and any external device (e.g.,host device or other image generation system). The function thereof maybe realized through any suitable hardware means such as communicationASIC or CPU or according to a given program (or communication program).

Information for realizing the processings in the present invention (orthis embodiment) may be delivered from an information storage mediumincluded in a host device (or server) to the information storage medium150 through a network and the communication section 174. The use of suchan information storage medium in the hose device (or server) falls inthe scope of the invention.

Part or the whole of the function in the processing section 100 may berealized through the function of the image generation section 160, soundgeneration section 170 or communication section 174. Alternatively, partor the whole of the function in the image generation section 160, soundgeneration section 170 or communication section 174 may be realizedthrough the function of the processing section 100.

The I/F section 176 serves as an interface for information interchangebetween the game system and a memory card (or a portable informationstorage device including a portable game machine in a broad sense) 180according to instructions from the processing section 100. The functionthereof may be realized through a slot into which the memory card isinserted, a data write/read controller IC or the like. If theinformation interchange between the game system and the memory card 180is to be realized in a wireless manner (e.g., through infra-redcommunication), the function of the I/F section 176 may be realizedthrough any suitable hardware means such as semiconductor laser,infra-red sensor or the like.

The processing section 100 further comprises a game computation section110.

The game computation section 110 is designed to perform variousprocesses such as coin (or charge) reception, setting of various modes,game proceeding, setting of scene selection, determination of theposition and rotation angle (about X-, Y- or Z-axis) of an object,determination of the view point and visual line (direction),regeneration (or generation) of the motion, arrangement of the objectwithin the object space, hit checking, computation of the game results(or scores), processing for causing a plurality of players to play in acommon game space, various game computations including game-over andother processes, based on operational data from the operation section130 and according to the data and game program from the memory card 180.

The game computation section 110 comprises a hit check section 112, amotion play section 114, a motion generation section 116 and a switchingsection 122.

The hit check section 112 is designed to perform a hit check process forchecking whether or not a virtual shot emitted by the player through thegun-type controller hits an object. In order to reduce the processingload, it is desirable to perform the hit check process using asimplified object which is obtained by simplifying the shape of theobject.

The motion play section 114 is designed to play (replay) the motion ofan object (enemy character or the like) based on motion data which havebeen stored in a motion data storage section 142. More particularly, themotion data storage section 142 has stored the motion data including thepositional and angular data for each of the parts in each of thereference motions of the object. The motion play section 114 reads thismotion data and moves the parts of the object based on the motion data.Thus, the motion of the object is played (replayed).

The motion generation section 116 generates the motion of the objectthrough a physical simulation (which is a simulation utilizing aphysical calculation that may be of pseudo-type). In other words, thisembodiment generates the motion of the object (enemy character or thelike) when subjected to a hit or the like, in real-time through thephysical simulation, rather than the play of motion based on the motiondata. In doing so, the present invention can provide a variable andrealistic representation of motion while minimizing the amount of datato be used, in comparison with the play of motion based on the motiondata.

The motion generation section 116 includes a motion-on-hit generationsection 118 and a lower-body-part motion generation section 120.

The motion-on-hit generation section 118 generates the motion of anobject when it is hit. More particularly, when the Nth part of theobject is hit, the motion-on-hit generation section 118 moves the Nthpart through the physical simulation based on hit information (or aforce vector directed in the direction of hit) while at the same time itsequentially transmits (or propagates) the hit information to thesubsequent N+1th, N+2th, N+3th and other parts. At this time, themagnitude of the hit information may sequentially be attenuated ontransmission, for example. The N+1th, N+2th, N+3th and other parts willbe moved through the physical simulation based on the transmitted hitinformation. When the motion of object is generated in such a manner,the realistic motion of the object can be represented with lessprocessing load even if the object is continuously hit.

The lower-body-part motion generation section 120 generates the motionof the lower object body using a special algorithm for realisticallyrepresenting the tottering behavior of the object when hit. Moreparticularly, the object is moved to be tumbled down about its firstpart (e.g., left foot) which is on the ground. A target location towhich the second part (e.g., right foot) not on the ground is to bemoved is then set at a position limiting the tottering behavior of theobject (e.g., a position in point-symmetry with a position at which thevirtual center is projected onto the ground). The second part is thenmoved to this target location. If the motion of the object is generatedin such a manner, the motion of the object can be represented such thatthe object is hardly tumbled while tottering.

The switching section 122 switches the play of motion to the generationof motion, for example, when the object is hit. Alternatively, theswitching section 122 performs the switching between the play of motionto the generation of motion if a given condition is satisfied (e.g., ifa given time period has elapsed from hitting or if the physical strengthof the object becomes zero). Thus, the motion of the object can berepresented through the play of motion if it is difficult to generatethe motion of the object. In a game scene in which a variable motion isrequired with less data, the motion of the object can be represented bythe generation of motion.

The image generation system of this embodiment may be a dedicatedsingle-player system in which only a single player can play a game or amulti-player system in which a plurality of players can play a game.

If a plurality of players play the game, the game images and soundsprovided to the players may be generated by only a single terminal or bya plurality of terminals which are interconnected through a network(transmission line or communication line).

2. Features of this Embodiment

In this embodiment, as shown in FIG. 3, an enemy character (object) 10is formed by a plurality of parts (which include right hand 12, rightforearm 14, right brachium 16, chest 18, hip 20, left hand 22, leftforearm 24, left brachium 26, head 30, right foot 32, right leg 34,right thigh 36, left foot 42, left leg 44 and left thigh 46). Thepositions and rotational angles (directions) of these parts (regions,portions) can be represented by the positions of joints J0 to J13 andthe rotational angles of bones (arcs) A0 to A18, which joints and bonesform a skeleton model. However, these bones and joints are virtual butdo not represent a really displayed object.

In this embodiment, the parts forming the enemy character are placed ina parent-child structure or a hierarchy structure (in fact, the jointsare placed in the parent-child structure). More particularly, theparents for the hands 12 and 22 are the forearms 14 and 24. The parentsfor the forearms 14 and 24 are the brachiums 16 and 26, the parent ofwhich is the chest 18. The parent for the chest 18 is the hip 20. Theparent for the head 30 is also the chest 18. The parents for the feet 32and 42 are the legs 34 and 44, the parents of which are the thighs 36and 46. The parent for the thighs 36 and 46 is the hip 20.

A motion data storage section has stored the positions and rotationalangles of these parts (joints and bones) as motion data. For example, itis now assumed that the motion of a step is formed by reference motionsMP0, MP1, MP2 . . . MPN. The position and rotational angle of each ofthe parts at each of these reference motions MP0, MP1, MP2 . . . MPNhave previously been stored as motion data. Thus, the motion of theobject can be played by sequentially reading the motion data relating tothe reference motions from with time. Specifically, the position and therotational angle of each part of the reference motion MP0 is read outthen the position and the rotational angle of each part of the referencemotion MP1 is read out.

The motion data stored in the motion data storage section may generallybe acquired by motion capturing or prepared by a designer. The positionsand rotational angles of the parts (joints and bones) are representedrelative to the positions and rotational angles of the parent parts.

The first feature of this embodiment is to generate the motion of thehit enemy character (object) through the physical simulation.

For example, when the forearm 14 of the enemy character is hit by a shot(bullet) from a player, the forearm 14 is first moved (rotated ortraveled) based on a vector of hitting force FH0 (which is hitinformation in a broad sense), as shown in FIG. 4. This vector FH0 isfurther sequentially transmitted (propagated) to the brachium 16, chest18 and hip 20 which are parent parts for the forearm 14, as FH1, FH2,FH3 and FH4. The brachium 16, chest 18 and hip 20 are then moved basedon the vectors of hitting force FH1 to FH4. In this embodiment, thus,the motion of the hit enemy character is generated in real-time.

More particularly, the vector of hitting force FH0 has its directiontoward the hitting direction (direction of shot trajectory) and itsmagnitude representing the strength of the hit. A rotation moment isdetermined by taking the outer product between a vector HV and thehitting force vector FH0. The HV is a rector coupling between the jointJ1 and the hitting position (or bullet reaching position) HP.

The angular acceleration of the forearm 14 is then calculated from thisrotation moment and the virtual mass of the forearm 14. The calculatedangular acceleration is used to calculate the angular velocity in theforearm 14. Thus, the forearm 14 is rotated at this angular velocity asshown by R0.

The vector of hitting force FH0 (or hit information) is transmitted tothe brachium 16 that is the parent part while its magnitude beingattenuated to FH1. More particularly, FH1 acts on the joint J1 with itsrotation moment rotating the brachium 16 as shown by R1.

Subsequently, FH1 is transmitted to the chest 18 and acts on the jointJ2, the rotation moment thereof rotating the chest 18 as shown by R2.

FH3 is then transmitted to the hip 20 and acts on the joint J3, therotation moment thereof rotating the hip 20 as shown by R3. FH4 is alsotransmitted to the hip 20 and acts on a representative point RP to movethe hip 20 as shown by MT0. As the hip 20 moves in the direction of MT0,the parts other than the hip 20 will also be moved in the direction ofMT0. In this case, however, the positional relationship between the hip20 and the other parts will not be changed.

The motion generated according to this embodiment is exemplified inFIGS. 5A, 5B, 6A and 6B. This motion is generated when the head of theenemy character 10 is hit by a shot.

As can be seen from FIGS. 5A to 6B, this embodiment can realisticallygenerate the motion of the hit enemy character 10. The generated motiondepends on the position, direction and strength of hitting. Thus,variations of the motion can greatly be increased, in comparison withthe play of motion based on the motion data.

More particularly, the technique of playing the motion must previouslyprovide many types of motions depending on the positions of hitting. Forexample, the motion data when a forearm is hit as shown in FIG. 4 isdifferent from that when the head is hit as shown in FIGS. 5A to 6B.Even when the same head is hit, different motion data must separately beprovided relating to the front, right, back and left sides of the headwhich are hit.

However, the capacity of the memory for storing the motion data isfinite. The technique of playing the motion is limited relating to thevariations of motion.

On the contrary, this embodiment can generate a great number of variousdifferent motions depending on the position, direction and strength ofhitting without providing the aforementioned motion data. For example,the reaction of the enemy character can finely be changed depending onthe position of shot hitting. Thus, this embodiment can realize variousand realistic representations of motion with less data.

Furthermore, the technique of playing the motion will cut off the playof motion for the hit head as shown in FIGS. 5A to 6B, for example, whenthe forearm is hit. This makes the behavior of the enemy characterunnatural.

On the contrary, this embodiment will not cut off the motion of the hitenemy character's head even when the forearm is later hit. Thus, themotion of the hit enemy character can be smooth and continuous.

Particularly, this embodiment is designed so that the gun-typecontroller 502 held by the player 500 can continuously expel shots athigh speed like a machine gun, as described in connection with FIG. 1.Thus, there will occur such a situation that the enemy character iscontinuously hit by shots. Moreover, this embodiment is designed so thatthe enemy character will not be erased when only a single shot hits it.Consequently, the motion of the enemy character must be represented suchthat it will finely change depending on the position and direction ofhitting each time when a shot hits the enemy character.

The technique of playing the motion further excessively increases thenecessary amount of motion data when it is to realize a motion in such acase that the character is continuously hit by shots. Thus, thetechnique of playing the motion cannot substantially realize the motorin such a case. On the contrary, such a technique of generation themotion as described in connection with FIG. 4 can easily realize themotion of the character continuously hit by shots.

This embodiment takes the vector of hitting force as hit information formoving each of the parts. As shown in FIG. 7A, for example, a rotationmoment LN×FHN may be determined from a vector of hitting force FHN. Thedetermined rotation moment moves (or rotates) the Nth part. Vectors ofhitting force FHN+1 and FHN+2 are sequentially transmitted to and movethe subsequent N+1th and N+2th parts. More particularly, in a frame K,FHN acts on the Nth part. In another frame K+1, FHN+1 acts on the N+1thpart; in still another frame K+2, FHN+2 acts on the N+2th parts.

In such a manner, the motion of each of the enemy character's parts withimpact of the vector of hitting force can realistically be representedthrough an easy and simple process in which the vectors of hitting forceare only sequentially transmitted to the subsequent parts.

According to this embodiment, the sequential transmission of hittingforce vectors to the parts is carried out while the magnitude of thetransmitted hitting force vectors is sequentially attenuated (e.g., at arate of attenuation damping factor equal to about 90%). In other words,the magnitude of the hitting force vectors is attenuated so that|FHN|>|FHN+1|>|FHN+2|. Thus, a part nearer the hitting position will bemore moved. A realistic change of motion more similar to the real worldcan be realized through a simple process in which the hitting forcevectors are only reduced in magnitude.

This embodiment is also designed so that the rotational resistancedepending on the angular velocity of each part acts on that part.

As shown in FIG. 7B, for example, the rotational resistance FRN may acton the Nth part depending on the angular velocity ωN thereof. Therotational resistance FRN+1 may act on the N+1th part depending on theangular velocity ωN+1 thereof in the direction opposite to the rotatingdirection of the N+1th part. The rotational resistance FRN+2 may act onthe N+2th part depending on the angular velocity ωN+2 thereof in thedirection opposite to the rotating direction of the N+2th part.

By causing the rotational resistance to act in such a manner, such asituation that the angular velocity of each part will abruptly bechanged to make the motion of the enemy character unnatural caneffectively be prevented.

Furthermore, this embodiment causes a restoring force for returning theenemy character back to a given posture to act each of the parts.

As shown in FIG. 8, for example, the enemy character may be returned toits default posture shown by dot line after the posture of the enemycharacter has been changed by the vector of hitting force FH.

This can prevent such a situation that the posture of the enemycharacter is extremely tumbled by continuous hit of many shots. Even ifthe enemy character is continuously hit by shots, it can return to itsdefault posture little by little through the restoring force each timewhen the enemy character is hit by a shot. Therefore, such an enemycharacter that will hardly be tumbled even if many shots hit it can berepresented. Consequently, the present invention can provide a game inwhich enemy characters matching against the machine gun are represented.

The process of returning the enemy character back to its default posturecan be realized by having stored default rotational angles for eachparts and returning the angle of each part to one of these defaultangles.

The second feature of this embodiment is to switch the play (replay) ofmotion based on the motion data to the generation of motion through thephysical simulation when the enemy character is hit.

As shown at E1 in FIG. 9A, for example, the motion of the enemycharacter may be represented through the play of motion before the enemycharacter is hit. In other words, the motion of the enemy character isrepresented through the play of motion based on the motion data when theenemy character moves to a given location, hides behind any matter orappears before the player.

On the other hand, when the enemy character is hit as shown at E2, theplay of motion is switched to the generation of motion. In other words,for example, the motion of the hit enemy character may be represented bysuch a technique of generation the motion as described in connectionwith FIG. 4.

The game operation by the player will not very influence the motion ofthe enemy character before it is hit. Therefore, the motion of the enemycharacter can sufficiently be represented only by the play of motionbased on the motion data. When the motion of the enemy character inwhich it hides behind any matter or appears before the player is to berealized through the generation of motion, the process becomescomplicated with the processing load being increased.

On the other hand, the game operation by the player strongly influencesthe motion of the enemy character when it is hit. The player can shootany enemy character in any direction. This cannot wholly be expectedbefore starting of the game. Therefore, the motion of the enemycharacter must finely be changed depending on the game operation (orshooting) by the player when the enemy character is hit. It is thusdesirable that the motion of the enemy character is represented by thegeneration of motion as shown in FIG. 4, rather than the play of motion.The motion of the hit enemy character is suitable for the generation ofmotion through the physical simulation, in comparison with the motionthereof when the enemy character hides behind any matter or appearsbefore the player.

In view of the foregoing, this embodiment switches the play of motion tothe generation of motion when the enemy character is hit, as shown at E2in FIG. 9A. Thus, the enemy character can be moved through anappropriate procedure depending on the situation.

The third feature of this embodiment is to switch the generation ofmotion through the physical simulation to the play of motion based onthe motion data when a given condition is satisfied.

As shown at E3 in FIG. 9A, for example, the generation of motion may beswitched to the play of motion after a given time period TM has elapsedafter hit.

In other words, when the enemy character is continuously hit by shotsfor a short time period as shown at E4, it will be moved through thegeneration of motion as described in connection with FIG. 4. Thus, themotion of the enemy character can finely and variably be representeddepending on the position and direction of hitting each time when theenemy character is hit by a shot.

On the other hand, when a given time period TM elapses after the enemycharacter has been hit by a shot as shown by E3 of FIG. 4A, it may beconsidered that the continuous shooting is no longer carried out againstthe enemy character. In this case, therefore, the motion of the enemycharacter will be represented through the play of motion based on themotion data. Thus, the motion of the enemy character can be representedsuch that it moves to any other location or hides behind any matterafter the enemy character is attacked by the player.

At E5 in FIG. 9B, the generation of motion is switched to the play ofmotion since the strength parameter of the enemy character becomes zero(or a given value). In such a case, the motion of the enemy character isplayed such that it is completely tumbled and disappears.

When the strength parameter becomes zero, it is reserved for the enemycharacter to disappear. This will not influenced by the game operationof the player. In this case, therefore, the motion of the enemycharacter will be represented by the play of motion, rather than thegeneration of motion. This can improve the stage effect of game sincethe enemy character can realistically be tumbled based on the previouslyprovided motion data.

It is desirable that when the switching between the generation of motionand the play of motion is performed, a connecting motion for connectingbetween the motion generated through the physical simulation and themotion played based on the motion data is played (or generated).

In FIG. 10A, for example, there may be a switching point F1 between thegeneration of motion and the play of motion. In this case, therefore, aconnecting motion between the last generated motion MGM and the firstplayed motion MP0 will be played (or generated).

In FIG. 10B, there may be a switching point F2 between the generation ofmotion and the play of motion. In this case, therefore, a connectingmotion between the last generated motion MGN and the first played motionMP0 will be played (or generated).

In such a manner, the motion of the enemy character can smoothly berepresented even if the switching is carried out at any point in thegeneration of motion. Consequently, the reality and quality of thegenerated image can be improved.

It is further desirable that the play of the connecting motion isrealized through the interpolation of motion as shown in FIG. 11. Moreparticularly, the motions M0 and M1 are interpolated, for example, bythe following formula:M2=α×M0+(1−α)×M1while the weighting factor is being changed from 0 to 1. This providesthe motion M2. (Actually, the position and rotational angle areinterpolated by the above formula). In this case, MGM and MGN of FIGS.10A and 10B become M0 of FIG. 11 and MP0 becomes M1. The resultingconnecting motion becomes M2.3. Processing of this Embodiment

Details of this embodiment will now be described with reference toflowcharts shown in FIGS. 12, 13 and 14.

FIG. 12 is a flowchart relating to the switching between the play ofmotion and the generation of motion.

The generation of motion is first performed based on the motion data(step S1). For example, the motion of the enemy character in which itmoves to a predetermined location, appears before the player or hidesbehind any matter may be realized through the play of motion.

It is then judged whether or not the enemy character is hit by a shotfrom the player (step S2). If not so, the procedure returns to the stepS1 in which the play of motion is continued. If the enemy character ishit, it is then judged whether or not the strength parameter is zero(step S3). If not so, the procedure is shifted to the generation ofmotion through the physical simulation (step S4).

It is then judged whether or not a given time period elapses after hit(step S5). If not so, it is then judged whether or not the enemycharacter is hit by a shot from the player (step S6). If the enemycharacter is hit, it is then judged at the step S3 whether or not thestrength parameter is zero. If not so, the generation of motion at thestep S4 is continued. If the enemy character is not hit, the generationof motion at the step S4 is continued without performing the judgmentrelating to the strength parameter at the step S3.

If it is judged at the step S5 that the given time period has elapsed, aconnecting motion is played (or generated) at step S7 as described inconnection with FIGS. 10A and 10B. And then, the procedure is switchedto the play of motion as shown at E3 in FIG. 9A.

If it is judged at the step S3 that the strength parameter is equal tozero, a connecting motion to a tumbling motion is played (or generated)(step S8). When the procedure shifts to the mode of playing the tumblingmotion (step S9) as shown at E5 in FIG. 9B, the enemy characterdisappears (step S10).

FIGS. 13 and 14 are flowcharts relating to the generation of motion onhitting.

It is first judged whether or not a part to be processed is one whichwas hit or to which a vector of hitting force was transmitted (step T1).If that part does not correspond to any of the two aforementioned parts,the procedure shifts to step T5. If the part corresponds to one of twoaforementioned parts, the hitting position and the vector of hittingforce at that part are obtained (step T2), as described in connectionwith FIG. 4. The judgment at the step T1 will be carried out based on ahit flag which is set “on” if the part was hit or received the vector ofhitting force.

As described in connection with FIG. 7A, the vector of hitting force istransmitted to the parent part while attenuating (damping) its magnitude(step T3). The part to which the vector of hitting force was transmittedhas its hit flag set ON.

The rotation moment is then calculated based on the vector of hittingforce. The rotation moment is then used to calculate the angularvelocity at that part (step T4). For example, at the Nth part of FIG.7A, the rotation moment LN×FHN may be calculated and used to calculatethe angular velocity in the Nth part.

As described in connection with FIG. 7B, the rotational resistance whichis proportional to the angular velocity of the part is then calculated.The rotational resistance is used to change the angular velocity of thepart (step T5). As described in connection with FIG. 8, the restoringforce for returning the enemy character back to its default posture isthen calculated and used to change the angular velocity of the part(step T6).

If a part to be processed is the hip of the enemy character, thevelocity of the moving hip is calculated based on the vector of hittingforce (step T7). For example, in FIG. 4, the moving velocity of the hip20 may be calculated based on FH4.

If the part to be processed is the hip of the enemy character, theposition and rotational velocity thereof are updated based on thecalculated moving velocity and angular velocity. If the part to beprocessed is one other than the hip, its rotational angle is updatedbased on the calculated angular velocity (step T8). In other words, theposition and rotational angle at each of the part in the frame inquestion are determined.

Finally, it is judged whether or not the procedure for all the parts hascompleted (step T9). If not so, the procedure returns to the step T1.

4. Hardware Arrangement

One hardware arrangement capable of realizing this embodiment will nowbe described with reference to FIG. 15. The system shown in FIG. 15comprises CPU 1000, ROM 1002, RAM 1004, an information storage medium1006, a sound generation IC 1008, an image generation IC 1010 and I/Oports 1012, 1014, all of which are interconnected through a system bus1016 for data reception and transmission. The image generation IC 1010is connected to a display 1018; the sound generation IC 1008 to aspeaker 1020; the I/O port 1012 to a control device 1022; and the I/Oport 1014 to a communication device 1024.

The information storage medium 1006 has mainly stored a program, imagedata for representing objects, sound data and others. For example, ahome game apparatus may use DVD, game cassette, CD-ROM or the like as aninformation storage medium for storing the game program and other data.An arcade game apparatus may use a memory such as ROM or the like. Inthe latter case, the information storage medium 1006 is in the form ofROM 1002.

The control device 1022 corresponds to a game controller, control panelor the like. The control device 1022 is used by the player for inputtinghis or her judgment into the game system according to the progress ofgame.

CPU 1000 is to perform the control of the entire game system and theprocessing of various data according to the program stored in theinformation storage medium 1006, the system program (such as informationfor initializing the entire system) stored in the ROM 1002, inputsignals from the control device 1022 and soon. RAM 1004 is a memorymeans used as a working area for the CPU 1000 and has stored givencontents in the information storage medium 1006 and ROM 1002 or theresults of computation in the CPU 1000. The structures of data having alogical structure for realizing this embodiment may be build on this RAMor information storage medium.

The sound and image generation IC's 1008, 1010 in this game system areto output game sounds and images in a preferred manner. The soundgeneration IC 1008 is in the form of an integrated circuit forgenerating game sounds such as sound effects, background music andothers, based on the information stored in the information storagemedium 1006 and ROM 1002, the generated sounds being then outputtedthrough the speaker 1020. The image generation IC 1010 is in the form ofan integrated circuit which can generate pixel information to beoutputted toward the display 1018 based on the image information fromthe RAM 1004, ROM 1002, information storage medium 1006 and so on. Thedisplay 1018 may be in the form of a so-called head mount display (HMD).

The communication device 1024 is to receive and transmit various piecesof information which are utilized in the game apparatus from and toexternal. The communication device 1024 is connected to the other gamesystem (or systems) to transmit and receive given informationcorresponding to the game program from and to the other game systems orutilized to transmit and receive the information including the gameprogram and other data through the communication line.

Various processing steps previously described in connection with FIGS. 1to 14 are realized by the information storage medium 1006 stored theinformation such as program, data and so on, and CPU 1000, imagegeneration IC 1010 and sound generation IC 1008 which operate based onthe information from the information storage medium 1006. Theprocessings in the image generation IC 1010 and sound generation IC 1008may be performed in a software manner through the CPU 1000 orall-purpose DSP.

When this embodiment is applied to such an arcade game system as shownin FIG. 1, a system board (or circuit board) 1106 included in the gamesystem comprises CPU, image generation IC, sound generation IC andothers all of which are mounted therein. The system board 1106 includesan information storage medium or semiconductor memory 1108 which hasstored information for executing (or realizing) the processings of thisembodiment (or means of the present invention). These pieces ofinformation will be referred to “the stored information pieces”.

FIG. 16A shows a home game apparatus to which this embodiment isapplied. A player enjoys a game by manipulating game controllers 1202and 1204 while viewing a game picture displayed on a display 1200. Insuch a case, the aforementioned stored information pieces have beenstored in DVD 1206 and memory cards 1208, 1209 which are detachableinformation storage media in the game system body.

FIG. 16B shows an example wherein this embodiment is applied to a gamesystem which includes a host device 1300 and terminals 1304-1 to 1304-nconnected to the host device 1300 through a communication line (which isa small-scale network such as LAN or a global network such as INTERNET)1302. In such a case, the above stored information pieces have beenstored in an information storage medium 1306 such as magnetic diskdevice, magnetic tape device, semiconductor memory or the like which canbe controlled by the host device 1300, for example. If the terminals1304-1 to 1304-n are designed each to have a CPU, image generation ICand sound processing IC and to generate game images and game sounds in astand-alone manner, the host device 1300 delivers game program and otherdata for generating game images and game sounds to the terminals 1304-1to 1304-n. On the other hand, if the game images and sounds cannot begenerated by the terminals in the stand-alone manner, the host device1300 will generate the game images and sounds which are in turntransmitted to the terminals 1304-1 to 1304-n.

In the arrangement of FIG. 16B, the processings of the present inventionmay be decentralized into the host device (or server) and terminals. Theabove information pieces for realizing the present invention may bedistributed and stored into the information storage media of the hostdevice (or server) and terminals.

Each of the terminals connected to the communication line may be eitherof home or arcade type. When the arcade game systems are connected tothe communication line, it is desirable that each of the arcade gamesystems includes a portable information storage device (memory card orportable game machine) which can not only transmit the informationbetween the arcade game systems but also transmit the informationbetween the arcade game systems and the home game systems.

The present invention is not limited to the things described inconnection with the above embodiment, but may be carried out in any ofvarious other forms.

For example, the invention as defined in any depending claim may includeonly part of the components in any independent claim to which thedepending claim belongs. The essential components in any independentclaim of the present invention may be included in any other independentclaim.

Although the technique of physical simulation for moving the parts isdesirably in such a form as described in connection with FIG. 4, thepresent invention is not limited to such a form, but may be carried outin any of various modifications. Although it is desirable that the hitinformation is in the form of a vector of hitting force for simplifyingthe procedure, the present invention is not limited to such a form, butmay be suffice to move at least the parts.

Although this embodiment has been described mainly as to the play andgeneration of motion for the enemy character, the object to be generatedor played in motion is not limited to the enemy character, but may takeany of various other objects such as player's character or moving body.

Although this embodiment has been described as to the object hit by theshots, the object may be hit by a sword, conk or kick.

The switching between the generation of motion and the play of motion isnot limited to such a technique as described in connection with FIG. 4or other figures, but may include a component of any physical simulation(or pseudo-physical simulation). The event of switching between thegeneration of motion and the play of motion is not limited to suchevents (e.g., hitting of the object) as described in this embodiment,but may be any of various other events.

Other than the gun-type game, the present invention may similarly beapplied to any of various other games such as other shooting games,fighting games, robot combat games, sports games, competitive games,roll-playing games, music playing games, dancing games and so on.

Furthermore, the present invention can be applied to various imagegeneration systems such as arcade game systems, home game systems,large-scaled multi-player attraction systems, simulators, multimediaterminals, image generation systems, game image generation system boardsand so on.

1. An image generation system for generating an image of athree-dimensional object formed by a plurality of parts visible from agiven viewpoint within a three-dimensional object space, comprising: amemory which stores a program and data for image generating; and atleast one processor which is connected to the memory and performsprocessing for image generating, the processor performing: playing amotion of the three-dimensional object formed by a plurality of partsbased on pre-stored motion data; generating the motion of thethree-dimensional object through a physical simulation; switchingprocessing from a play of the object's motion based on the pre-storedmotion data to a generation of the object's motion through a physicalsimulation when the object is hit; and generating a connecting motionbased on interpolation of the motion generated by the physicalsimulation and the motion played based on the pre-stored motion data,the connecting motion connecting the motion played based on thepre-stored motion data with the motion generated by the physicalsimulation.
 2. The image generation system according to claim 1, whereinprocessing for generating the motion of the object through a physicalsimulation generates a motion of the object formed by a plurality ofparts, by moving an Nth part through a physical simulation based on hitinformation when the Nth part is hit and sequentially transmitting thehit information to the N+1th, N+2th, N+3th . . . parts so that theN+1th, the N+2th, the N+3th . . . parts are sequentially moved through aphysical simulation based on the transmitted hit information.
 3. Theimage generation system according to claim 2, wherein the hitinformation is a force vector in the direction of hitting, and each ofthe parts is moved through a rotation moment obtained by the forcevector.
 4. The image generation system according to claim 3, wherein themagnitude of the force vector is sequentially attenuated while the forcevector is transmitted to each of the parts.
 5. The image generationsystem according to claim 2, wherein a rotational resistance force isacted on each of the parts depending on the angular velocity of each ofthe parts.
 6. The image generation system according to claim 2, whereina restoring force for returning an object back to a given posture isacted on each of the parts.
 7. An image generation system for generatingan image of a three-dimensional object formed by a plurality of partsvisible from a given viewpoint within a three-dimensional object space,comprising: a memory which stores a program and data for imagegenerating; and at least one processor which is connected to the memoryand performs processing for image generating, the processor performing:playing a motion of the three-dimensional object formed by a pluralityof parts based on pre-stored motion data; generating the motion of thethree-dimensional object through a physical simulation; switchingprocessing from a generation of the object's motion through a physicalsimulation to a play of the object's motion based on the pre-storedmotion data when a given condition is satisfied; and generating aconnecting motion based on interpolation of the motion generated by thephysical simulation and the motion played based on the pre-stored motiondata the connecting motion connecting the motion generated by thephysical simulation with the motion played based on the pre-storedmotion data.
 8. The image generation system according to claim 7, theprocessor further performing: switching processing from the generationof the object's motion through the physical simulation to the play ofthe object's motion based on the pre-stored motion data, in at least oneof cases where a given time period has elapsed after the object has beenhit and where a parameter relating to the object reaches a given value.9. A computer-usable program for generating an image of athree-dimensional object formed by a plurality of parts visible from agiven viewpoint within a three-dimensional object space, the programembodied in an information storage medium or a carrier wave, comprisinga processing routine for realizing: playing a motion of thethree-dimensional object formed by a plurality of parts based onpre-stored motion data; generating the motion of the three-dimensionalobject through a physical simulation; switching processing from a playof the object's motion based on the pre-stored motion data to ageneration of the object's motion through a physical simulation when theobject is hit; and generating a connecting motion based on interpolationof the motion generated by the physical simulation and the motion playedbased on the pre-stored motion data, the connecting motion connectingthe motion played based on the pre-stored motion data with the motiongenerated by the physical simulation.
 10. A computer-usable program forgenerating an image of a three-dimensional object formed by a pluralityof parts visible from a given viewpoint within a three-dimensionalobject space, the program embodied in an information storage medium or acarrier wave, comprising a processing routine for realizing: playing amotion of the three-dimensional object formed by a plurality of partsbased on pre-stored motion data; generating the motion of thethree-dimensional object through a physical simulation; switchingprocessing from a generation of the object's motion through a physicalsimulation to a play of the object's motion based on the pre-storedmotion data when a given condition is satisfied; and generating aconnecting motion from interpolation of the motion generated by thephysical simulation and the motion played based on the pre-stored motiondata the connecting motion connecting the motion generated by thephysical simulation with the motion played based on the pre-storedmotion data.
 11. The program according to claim 10, wherein processingfor generating the motion of the object through a physical simulationgenerates a motion of the object formed by a plurality of parts, bymoving an Nth part through a physical simulation based on hitinformation when the Nth part is hit and sequentially transmitting thehit information to the N+1th, N+2th, N+3th . . . parts so that theN+1th, the N+2th, the N+3th . . . parts are sequentially moved through aphysical simulation based on the transmitted hit information.
 12. Theprogram according to claim 11, wherein the hit information is a forcevector in the direction of hitting, and the program comprising aprocessing routine each of the parts through a rotation moment obtainedby the force vector.
 13. The program according to claim 12, the programcomprising a processing routine for realizing: sequentially attenuatingthe magnitude of the force vector while the force vector is transmittedto each of the parts.
 14. The program according to claim 11, the programcomprising a processing routine for realizing: acting rotationalresistance force on each of the parts depending on the angular velocityof each of the parts.
 15. The program according to claim 11, the programcomprising a processing routine for realizing: acting a restoring forcefor returning an object back to a given posture on each of the parts.16. The program according to claim 10, the program comprising aprocessing routine for realizing: switching processing from thegeneration of the object's motion through the physical simulation to theplay of the object's motion based on the pre-stored motion data, in atleast one of cases where a given time period has elapsed after theobject has been hit and where a parameter relating to the object reachesa given value.
 17. An image generation method for generating an image ofa three-dimensional object formed by a plurality of parts visible from agiven viewpoint within a three-dimensional object space, comprising:playing a motion of the three-dimensional object formed by a pluralityof parts based on pre-stored motion data; generating the motion of thethree-dimensional object through a physical simulation; switchingprocessing from a play of the object's motion based on the pre-storedmotion data to a generation of the object's motion through a physicalsimulation when the object is hit; and generating a connecting motionbased on interpolation of the motion generated by the physicalsimulation and the motion played based on the pre-stored motion data,the connecting motion connecting the motion played based on thepre-stored motion data with the motion generated by the physicalsimulation.
 18. The image generation method according to claim 17,wherein processing for generating the motion of the object through aphysical simulation generates a motion of the object formed by aplurality of parts, by moving an Nth part through a physical simulationbased on hit information when the Nth part is hit and sequentiallytransmitting the hit information to the N+1th, N+2th, N+3th . . . partsso that the N+1th, the N+2th, the N+3th . . . parts are sequentiallymoved through a physical simulation based on the transmitted hitinformation; the processing generates an image including an image of theobject on which the motion is generated.
 19. The image generation methodaccording to claim 18, wherein the hit information is a force vector inthe direction of hitting, the method further comprising: moving each ofthe parts through a rotation moment obtained by the force vector. 20.The image generation method according to claim 19, further comprising:sequentially attenuating the magnitude of the force vector while theforce vector is transmitted to each of the parts.
 21. The imagegeneration method according to claim 18, further comprising: acting arotational resistance force on each of the parts depending on theangular velocity of each of the parts.
 22. The image generation methodaccording to claim 18, further comprising: acting a restoring force forreturning an object back to a given posture on each of the parts.
 23. Animage generation method for generating an image of a three-dimensionalobject formed by a plurality of parts visible from a given viewpointwithin a three-dimensional object space, comprising: playing a motion ofthe three-dimensional object formed by a plurality of parts based onpre-stored motion data; generating the motion of the three-dimensionalobject through a physical simulation; switching processing from ageneration of the object's motion through a physical simulation to aplay of the object's motion based on the pre-stored motion data when agiven condition is satisfied; and generating a connecting motion basedon interpolation of the motion generated by the physical simulation andthe motion played based on the pre-stored motion data the connectingmotion connecting the motion generated by the physical simulation withthe motion played based on the pre-stored motion data.
 24. The imagegeneration method according to claim 23, further comprising: switchingprocessing from the generation of the object's motion through thephysical simulation to the play of the object's motion based on thepre-stored motion data, in at least one of cases where a given timeperiod has elapsed after the object has been hit and where a parameterrelating to the object reaches a given value.